﻿using SD.Infrastructure.DTOBase;
using SlamDunk.MES.IAppService.DTOs.Outputs.FoundationContext;
using SlamDunk.MES.IAppService.DTOs.Outputs.ResourceContext;
using SlamDunk.ValueObjects.Enums;
using System;
using System.Runtime.Serialization;

namespace SlamDunk.MES.IAppService.DTOs.Outputs.MaintenanceContext
{
    /// <summary>
    /// 设备资产数据传输对象
    /// </summary>
    [DataContract]
    public class EquipmentAssetInfo : BaseDTO
    {
        #region 设备Id —— Guid EquipmentId
        /// <summary>
        /// 设备Id
        /// </summary>
        [DataMember]
        public Guid EquipmentId { get; set; }
        #endregion

        #region 生产日期 —— DateTime ProducedDate
        /// <summary>
        /// 生产日期
        /// </summary>
        [DataMember]
        public DateTime ProducedDate { get; set; }
        #endregion

        #region 采购日期 —— DateTime PurchasedDate
        /// <summary>
        /// 采购日期
        /// </summary>
        [DataMember]
        public DateTime PurchasedDate { get; set; }
        #endregion

        #region 启用日期 —— DateTime? EnabledDate
        /// <summary>
        /// 启用日期
        /// </summary>
        [DataMember]
        public DateTime? EnabledDate { get; set; }
        #endregion

        #region 制造商 —— string Manufacturer
        /// <summary>
        /// 制造商
        /// </summary>
        [DataMember]
        public string Manufacturer { get; set; }
        #endregion

        #region 规格 —— string Specification
        /// <summary>
        /// 规格
        /// </summary>
        [DataMember]
        public string Specification { get; set; }
        #endregion

        #region 型号 —— string ModelNo
        /// <summary>
        /// 型号
        /// </summary>
        [DataMember]
        public string ModelNo { get; set; }
        #endregion

        #region 价值 —— decimal Worth
        /// <summary>
        /// 价值
        /// </summary>
        [DataMember]
        public decimal Worth { get; set; }
        #endregion

        #region 使用年限 —— string ServiceLife
        /// <summary>
        /// 使用年限
        /// </summary>
        [DataMember]
        public string ServiceLife { get; set; }
        #endregion

        #region 折旧年限 —— string DepreciableLife
        /// <summary>
        /// 折旧年限
        /// </summary>
        [DataMember]
        public string DepreciableLife { get; set; }
        #endregion

        #region 售后电话 —— string SupportPhone
        /// <summary>
        /// 售后电话
        /// </summary>
        [DataMember]
        public string SupportPhone { get; set; }
        #endregion

        #region 工厂模型Id —— Guid? FacilityId 
        /// <summary>
        /// 工厂模型Id
        /// </summary>
        [DataMember]
        public Guid? FacilityId { get; set; }
        #endregion

        #region 设备状态 —— EquipmentStatus Status
        /// <summary>
        /// 设备状态
        /// </summary>
        [DataMember]
        public EquipmentStatus Status { get; set; }
        #endregion

        #region 负责人 —— string Principal
        /// <summary>
        /// 负责人
        /// </summary>
        [DataMember]
        public string Principal { get; set; }
        #endregion

        #region 描述 —— string Description
        /// <summary>
        /// 描述
        /// </summary>
        [DataMember]
        public string Description { get; set; }
        #endregion


        //导航属性

        #region 导航属性 - 设备 —— EquipmentInfo EquipmentInfo
        /// <summary>
        /// 导航属性 - 设备
        /// </summary>
        [DataMember]
        public EquipmentInfo EquipmentInfo { get; set; }
        #endregion

        #region 导航属性 - 工厂模型 —— FacilityInfo FacilityInfo
        /// <summary>
        /// 导航属性 - 工厂模型
        /// </summary>
        [DataMember]
        public FacilityInfo FacilityInfo { get; set; }
        #endregion
    }
}
